home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / IDLIncludes / GXPrinterDrivers.idl < prev    next >
Text File  |  1996-05-01  |  14KB  |  357 lines

  1. /*
  2.      File:        GXPrinterDrivers.idl
  3.  
  4.      Contains:    This file defines data types and API functions for printer driver development.
  5.  
  6.      Version:    Technology:    Quickdraw GX 1.1
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __GXPRINTERDRIVERS_IDL__
  19. #define __GXPRINTERDRIVERS_IDL__
  20.  
  21. #include <somobj.idl>
  22. #include <somcls.idl>
  23.  
  24. #ifndef __SCALERTYPES_IDL__
  25. #include <ScalerTypes.idl>
  26. #endif
  27. #ifndef __GXMESSAGES_IDL__
  28. #include <GXMessages.idl>
  29. #endif
  30. #ifndef __PRINTING_IDL__
  31. #include <Printing.idl>
  32. #endif
  33. #ifndef __GXPRINTING_IDL__
  34. #include <GXPrinting.idl>
  35. #endif
  36.  
  37. #ifdef __SOMIDL__
  38.  
  39. #if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
  40. /*
  41.  ------------------------------------------------------------------------------
  42.  
  43.                         Desktop Printer Constants and Types
  44.  
  45. -------------------------------------------------------------------------------- 
  46. */
  47. /* Manual feed alert preferences structure for gxManualFeedAlertPrefsType desktop printer resource */
  48. typedef SOMFourByteStruct        gxManualFeedAlertPrefs;        /* Derived from a struct of 4 bytes in size */
  49.  
  50. typedef OpaquePtr                gxManualFeedAlertPrefsPtr;    /* Substituted OpaquePtr for ``gxManualFeedAlertPrefs*'' */
  51.  
  52. typedef OpaquePtr                gxManualFeedAlertPrefsHdl;    /* Substituted OpaquePtr for ``gxManualFeedAlertPrefsPtr*'' */
  53.  
  54. /* Constants for the alertFlags field of gxManualFeedAlertPrefs.*/
  55. /* Driver output settings structure for desktop printer gxDriverOutputType resource */
  56. typedef SOMLargeStruct            gxDriverOutputSettings;        /* Derived from a struct of 8 bytes in size */
  57.  
  58. typedef OpaquePtr                gxDriverOutputSettingsPtr;    /* Substituted OpaquePtr for ``gxDriverOutputSettings*'' */
  59.  
  60. typedef OpaquePtr                gxDriverOutputSettingsHdl;    /* Substituted OpaquePtr for ``gxDriverOutputSettingsPtr*'' */
  61.  
  62. /* Constants for the outputSettings field of gxDriverOutputSettings. */
  63. /*
  64.  ------------------------------------------------------------------------------
  65.  
  66.                         Printing Driver Constants and Types
  67.  
  68. -------------------------------------------------------------------------------- 
  69. */
  70. /* Buffering and IO preferences-- this structure mirrors the 'iobm' resource */
  71. typedef SOMLargeStruct            gxIOPrefsRec;                /* Derived from a struct of 24 bytes in size */
  72.  
  73. typedef OpaquePtr                gxIOPrefsPtr;                /* Substituted OpaquePtr for ``gxIOPrefsRec*'' */
  74.  
  75. typedef OpaquePtr                gxIOPrefsHdl;                /* Substituted OpaquePtr for ``gxIOPrefsPtr*'' */
  76.  
  77. /* Constants for the communicationsOptions field of IOPrefsRec. */
  78. /* Information about writing to a file */
  79. typedef SOMLargeStruct            gxPrintDestinationRec;        /* Derived from a struct of 106 bytes in size */
  80.  
  81. typedef OpaquePtr                gxPrintDestinationPtr;        /* Substituted OpaquePtr for ``gxPrintDestinationRec*'' */
  82.  
  83. typedef OpaquePtr                gxPrintDestinationHdl;        /* Substituted OpaquePtr for ``gxPrintDestinationPtr*'' */
  84.  
  85. /* This structure is the content of each cell in the standard PACK LDEF */
  86. typedef SOMLargeStruct            gxPortListRec;                /* Derived from a struct of 270 bytes in size */
  87.  
  88. typedef OpaquePtr                gxPortListPtr;                /* Substituted OpaquePtr for ``gxPortListRec*'' */
  89.  
  90. /*
  91.  ------------------------------------------------------------------------------
  92.  
  93.                         Printing Driver Constants for resources in the desktop printer
  94.  
  95. -------------------------------------------------------------------------------- 
  96. */
  97. /* ----------------------------------* 'prod' *---------------------------------- */
  98. /*
  99.       For PostScript devices, the device and version names of the device.
  100.       (0) product name is of type PString
  101.       (1) version is of type PString
  102.       (2) revision is of type PString
  103.       (3) vm available is of type long
  104.       (4) font stream type is of type scalerStreamTypeFlag
  105.       (5) language level is of type long
  106. */
  107. /* PPD support definitions*/
  108. typedef SOMLargeStruct            gxPPDFileInfoRec;            /* Derived from a struct of 17 bytes in size */
  109.  
  110. typedef OpaquePtr                gxPPDFileInfoPtr;            /* Substituted OpaquePtr for ``gxPPDFileInfoRec*'' */
  111.  
  112. typedef OpaquePtr                gxPPDFileInfoHdl;            /* Substituted OpaquePtr for ``gxPPDFileInfoPtr*'' */
  113.  
  114. /*
  115.  ------------------------------------------------------------------------------
  116.  
  117.                         Printing Driver Constants for status alerts
  118.  
  119. -------------------------------------------------------------------------------- 
  120. */
  121. /* Structure passed in statusBuffer of StatusRecord for manual feed alert */
  122. typedef SOMLargeStruct            gxManualFeedRecord;            /* Derived from a struct of 34 bytes in size */
  123.  
  124. /* Structure passed in statusBuffer of StatusRecord for out of paper alert */
  125. typedef SOMLargeStruct            gxOutOfPaperRecord;            /* Derived from a struct of 32 bytes in size */
  126.  
  127. /* The DITL id for the auto feed button in the manual feed alert */
  128. /* Status resource id for the alerts */
  129. /* Status resource indices for alerts */
  130. /* Allocation sizes for status buffers needed for automatic alerts */
  131. /*
  132.  ------------------------------------------------------------------------------
  133.  
  134.                                 Old Application Support
  135.  
  136. -------------------------------------------------------------------------------- 
  137. */
  138. /* The format of a 'cust' resource  */
  139. typedef SOMLargeStruct            gxCustomizationRec;            /* Derived from a struct of 12 bytes in size */
  140.  
  141. typedef OpaquePtr                gxCustomizationPtr;            /* Substituted OpaquePtr for ``gxCustomizationRec*'' */
  142.  
  143. typedef OpaquePtr                gxCustomizationHdl;            /* Substituted OpaquePtr for ``gxCustomizationPtr*'' */
  144.  
  145. /* The format of a 'resl' resource */
  146. typedef SOMLargeStruct            gxResolutionRec;            /* Derived from a struct of 16 bytes in size */
  147.  
  148. typedef OpaquePtr                gxResolutionPtr;            /* Substituted OpaquePtr for ``gxResolutionRec*'' */
  149.  
  150. typedef OpaquePtr                gxResolutionHdl;            /* Substituted OpaquePtr for ``gxResolutionPtr*'' */
  151.  
  152. /*
  153.  
  154.         Constants for the "universal" print record.
  155.  
  156. */
  157. /* Constant for version number in universal print record */
  158. /* Constants for feed field in universal print record */
  159. /* Constants for options field in universal print record */
  160. /* Constants for orientation field in universal print record */
  161. /* Constants for qualityMode field in universal print record */
  162. /* Constants for firstTray and remainingTray fields in universal print record */
  163. /* Constants for coverPage field in universal print record */
  164. /* Constants for headMotion field in universal print record */
  165. /* Constants for saveFile field in universal print record */
  166. #endif
  167. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  168. /* The format of the "universal" print record */
  169. typedef SOMLargeStruct            gxUniversalPrintRecord;        /* Derived from a struct of 120 bytes in size */
  170.  
  171. typedef OpaquePtr                gxUniversalPrintRecordPtr;    /* Substituted OpaquePtr for ``gxUniversalPrintRecord*'' */
  172.  
  173. typedef OpaquePtr                gxUniversalPrintRecordHdl;    /* Substituted OpaquePtr for ``gxUniversalPrintRecordPtr*'' */
  174.  
  175. #endif
  176. #if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
  177. /*
  178.  ------------------------------------------------------------------------------
  179.  
  180.                             Compatibility Printing Messages
  181.  
  182. -------------------------------------------------------------------------------- 
  183. */
  184. /*
  185.  ------------------------------------------------------------------------------
  186.  
  187.                         Raster Driver Contants and Types
  188.  
  189. -------------------------------------------------------------------------------- 
  190. */
  191. typedef long                    gxRasterPlaneOptions;
  192.  
  193. /* Input structure for setting up the offscreen */
  194. typedef SOMLargeStruct            gxPlaneSetupRec;            /* Derived from a struct of 68 bytes in size */
  195.  
  196. /* Constants for planeOptions field in gxPlaneSetupRec */
  197. typedef SOMLargeStruct            gxOffscreenSetupRec;        /* Derived from a struct of 362 bytes in size */
  198.  
  199. /* The format of one plane in the offscreen planar area */
  200. typedef SOMLargeStruct            gxOffscreenPlaneRec;        /* Derived from a struct of 48 bytes in size */
  201.  
  202. /* The format of an entire offscreen area */
  203. typedef SOMLargeStruct            gxOffscreenRec;                /* Derived from a struct of 54 bytes in size */
  204.  
  205. typedef OpaquePtr                gxOffscreenPtr;                /* Substituted OpaquePtr for ``gxOffscreenRec*'' */
  206.  
  207. typedef OpaquePtr                gxOffscreenHdl;                /* Substituted OpaquePtr for ``gxOffscreenPtr*'' */
  208.  
  209. typedef long                    gxRasterRenderOptions;
  210.  
  211. /* Structure that mirrors 'rdip' resource. */
  212. typedef SOMLargeStruct            gxRasterPrefsRec;            /* Derived from a struct of 96 bytes in size */
  213.  
  214. /* Constants for renderOptions field in gxRasterPrefsRec. */
  215. typedef OpaquePtr                gxRasterPrefsPtr;            /* Substituted OpaquePtr for ``gxRasterPrefsRec*'' */
  216.  
  217. typedef OpaquePtr                gxRasterPrefsHdl;            /* Substituted OpaquePtr for ``gxRasterPrefsPtr*'' */
  218.  
  219. typedef long                    gxRasterPackageOptions;
  220.  
  221. /* Structure that mirrors 'rpck' resource. */
  222. typedef SOMLargeStruct            gxRasterPackageRec;            /* Derived from a struct of 16 bytes in size */
  223.  
  224. typedef OpaquePtr                gxRasterPackagePtr;            /* Substituted OpaquePtr for ``gxRasterPackageRec*'' */
  225.  
  226. typedef OpaquePtr                gxRasterPackageHdl;            /* Substituted OpaquePtr for ``gxRasterPackagePtr*'' */
  227.  
  228. /* Constants for packageOptions field in gxRasterPackageRec. */
  229. /* Structure for RasterPackageBitmap message */
  230. typedef SOMLargeStruct            gxRasterPackageBitmapRec;    /* Derived from a struct of 18 bytes in size */
  231.  
  232. /* Structure of number record in gxRasterPackageControlsRec */
  233. typedef SOMLargeStruct            gxStandardNumberRec;        /* Derived from a struct of 70 bytes in size */
  234.  
  235. typedef OpaquePtr                gxStandardNumberPtr;        /* Substituted OpaquePtr for ``gxStandardNumberRec*'' */
  236.  
  237. /* Structure that mirrors 'ropt' resource */
  238. typedef SOMLargeStruct            gxRasterPackageControlsRec;    /* Derived from a struct of 148 bytes in size */
  239.  
  240. typedef OpaquePtr                gxRasterPackageControlsPtr;    /* Substituted OpaquePtr for ``gxRasterPackageControlsRec*'' */
  241.  
  242. typedef OpaquePtr                gxRasterPackageControlsHdl;    /* Substituted OpaquePtr for ``gxRasterPackageControlsPtr*'' */
  243.  
  244. /* Raster imaging system imageData structure */
  245. typedef SOMLargeStruct            gxRasterImageDataRec;        /* Derived from a struct of 562 bytes in size */
  246.  
  247. typedef OpaquePtr                gxRasterImageDataPtr;        /* Substituted OpaquePtr for ``gxRasterImageDataRec*'' */
  248.  
  249. typedef OpaquePtr                gxRasterImageDataHdl;        /* Substituted OpaquePtr for ``gxRasterImageDataPtr*'' */
  250.  
  251. /*
  252.  ------------------------------------------------------------------------------
  253.  
  254.                                 Raster Driver Imaging Messages
  255.  
  256. -------------------------------------------------------------------------------- 
  257. */
  258. /*
  259.  ------------------------------------------------------------------------------
  260.  
  261.                         Vector Driver Contants and Types
  262.  
  263. -------------------------------------------------------------------------------- 
  264. */
  265. /* Vector device halftone component record */
  266. typedef SOMLargeStruct            gxVHalftoneCompRec;            /* Derived from a struct of 8 bytes in size */
  267.  
  268. /* Vector device halftone record */
  269. typedef SOMLargeStruct            gxVHalftoneRec;                /* Derived from a struct of 40 bytes in size */
  270.  
  271. /* Vector shape rendering information */
  272. typedef long                    gxVectorShapeOptions;
  273.  
  274. typedef SOMLargeStruct            gxVectorShapeDataRec;        /* Derived from a struct of 20 bytes in size */
  275.  
  276. /* Constants for shapeOptions field in gxVectorShapeDataRec. */
  277. /* Vector device rendering information */
  278. typedef long                    gxVectorRenderOptions;
  279.  
  280. /* Vector imaging system imageData structure */
  281. typedef SOMLargeStruct            gxVectorImageDataRec;        /* Derived from a struct of 112 bytes in size */
  282.  
  283. typedef OpaquePtr                gxVectorImageDataPtr;        /* Substituted OpaquePtr for ``gxVectorImageDataRec*'' */
  284.  
  285. typedef OpaquePtr                gxVectorImageDataHdl;        /* Substituted OpaquePtr for ``gxVectorImageDataPtr*'' */
  286.  
  287. /* Constants for renderOptions field in gxVectorImageDataRec. */
  288. /*
  289.  ------------------------------------------------------------------------------
  290.  
  291.                                 Vector Driver Imaging Messages
  292.  
  293. -------------------------------------------------------------------------------- 
  294. */
  295. /*
  296.  ------------------------------------------------------------------------------
  297.  
  298.                             PostScript Driver Contants and Types
  299.  
  300. -------------------------------------------------------------------------------- 
  301. */
  302. /* PostScript glyphs record */
  303. typedef SOMLargeStruct            gxPrinterGlyphsRec;            /* Derived from a struct of 28 bytes in size */
  304.  
  305. /* PostScript device rendering information */
  306. typedef long                    gxPostScriptRenderOptions;
  307.  
  308. typedef SOMLargeStruct            gxPostScriptImageDataRec;    /* Derived from a struct of 34 bytes in size */
  309.  
  310. typedef OpaquePtr                gxPostScriptImageDataPtr;    /* Substituted OpaquePtr for ``gxPostScriptImageDataRec*'' */
  311.  
  312. typedef OpaquePtr                gxPostScriptImageDataHdl;    /* Substituted OpaquePtr for ``gxPostScriptImageDataPtr*'' */
  313.  
  314. /* Constants for renderOptions field in gxPostScriptImageDataRec. */
  315. /* Structure for gxPostScriptGetProcSetList / gxPostScriptDownLoadProcSetList */
  316. typedef SOMLargeStruct            gxProcSetListRec;            /* Derived from a struct of 18 bytes in size */
  317.  
  318. typedef OpaquePtr                gxProcSetListPtr;            /* Substituted OpaquePtr for ``gxProcSetListRec*'' */
  319.  
  320. typedef OpaquePtr                gxProcSetListHdl;            /* Substituted OpaquePtr for ``gxProcSetListPtr*'' */
  321.  
  322. /* Possible results of querying printer (returned by gxPostScriptQueryPrinter message) */
  323. /*
  324.  ------------------------------------------------------------------------------
  325.  
  326.                                 PostScript Driver Imaging Messages
  327.  
  328. -------------------------------------------------------------------------------- 
  329. */
  330. /* Device control messages */
  331. /* Device communication messages */
  332. /* Proc set management messages */
  333. /* Font management messages */
  334. /* Document structuring and formatting messages */
  335. /* Page structuring and formatting messages */
  336. /* Shape imaging messages */
  337. /*
  338.  ------------------------------------------------------------------------------
  339.  
  340.                                             Driver API Functions
  341.  
  342. -------------------------------------------------------------------------------- 
  343. */
  344. /* Constants for printer gxViewDevice bitmaps. */
  345. #endif
  346. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  347. #endif
  348. #if FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE
  349. #endif
  350. #if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
  351. #endif
  352.  
  353. #endif /* __SOMIDL__ */
  354.  
  355. #endif /* __GXPRINTERDRIVERS_IDL__ */
  356.  
  357.